package com.doudou.pay.helper.service;

import java.util.Map;

import com.doudou.pay.helper.entities.*;
import com.doudou.pay.helper.websocket.WebSocketResponse;

public interface PayService {

	public WebSocketResponse pay(UserPay userPay, Map<String, Integer> clientMap);

	public WebSocketResponse pay(UserPay userPay, User user);

	public WebSocketResponse recharge(UserPay userPay);

	public boolean responsePay(int code, ResponsePay responsePay);

	public boolean responseHttpPay(ResponsePay responsePay);

	public int updatePayStatus(String status, String payId);

	public int updatePayInfo(String status, User user, String payId,
			String platformOrder, String platformOrderStatus);

	public int updatePayInfo(String status, String payId, String platformOrder,
							 String platformOrderStatus, IntraAccounts intraAccounts);

	public boolean isExisPayOrder(String authToken, String payId);

	public MerchantOrderQuery getMerchantOrderQuery(MerchantOrderQuery query);

	public MerchantOrderQuery getThirdPartyOrderQuery(MerchantOrderQuery query);

	public PayAccounts getAccounts(String userId, String payType, double money,
			User user);

	public RechargeAccounts getRechargeAccounts(String payType, double money);


	public boolean checkMoney(Double money);

	void setAccountsPayMoneyZero();

}
